home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD003b.dsk / SONG.WRITER.bas < prev    next >
BASIC Source File  |  2003-06-12  |  3KB  |  49 lines

  1. 10  REM     BY EMIL<CTRL-J><CTRL-J><CTRL-J>
  2. 99  REM   LINES 100 AND 110 POKE THE TONE MAKER INTO MEMORY<CTRL-J><CTRL-J>
  3. 100  POKE 770,173: POKE 771,48: POKE 772,192: POKE 773,136: POKE 774,208: POKE 775,4: POKE 776,198: POKE 777,7: POKE 778,240
  4. 110  POKE 779,8: POKE 780,202: POKE 781,208: POKE 782,246: POKE 783,166: POKE 784,6: POKE 785,76: POKE 786,2: POKE 787,3: POKE 788,96
  5. 120  PRINT : PRINT "<CTRL-D>NOMONC,I,O"
  6. 130 OP$ = "<CTRL-D>OPEN ":WR$ = "<CTRL-D>WRITE ":CL$ = "<CTRL-D>CLOSE "
  7. 140 RE$ = "<CTRL-D>READ "
  8. 150 A = 770:T = 6:L = 7: POKE T,90: POKE L,100: CALL A
  9. 160  DIM T(200),L(200)
  10. 170  GOSUB 380
  11. 180 CO = 0
  12. 190  IF CO >200  THEN  PRINT "BUFFER FULL. SAVING DATA":CO = 200: GOSUB 470: END 
  13. 200  PRINT "INPUT> TONE,TONELENGTH ": PRINT "FOR LINE #";: INVERSE : PRINT CO;: NORMAL : INPUT " ?";TN,TL
  14. 210  IF TN >255  OR TL >255  THEN  PRINT "NO NUMBERS GRATER THAN 255 PLEASE ": GOTO 200
  15. 220 T(CO) = TN:L(CO) = TL
  16. 230  PRINT "COMAND---->";: GET A$: PRINT A$: IF A$ = "A"  THEN CO = CO +1: GOTO 190
  17. 240  IF  LEFT$(A$,1) = "C"  THEN 300
  18. 250  IF  LEFT$(A$,1) = "D"  THEN 350
  19. 260  IF  LEFT$(A$,1) = "S"  THEN 470
  20. 270  IF  LEFT$(A$,1) = "P"  THEN 360
  21. 280  IF  LEFT$(A$,1) = "N"  THEN 410
  22. 290  PRINT "COMANDS ARE": PRINT "-----------": PRINT "'A'= ADD ": PRINT "'C'=CHANGE A NOTE": PRINT "'D'=DELETE THE FILE IN MEMORY": PRINT "'S'=SAVE THE FILE TO DISK": PRINT "'P'=PLAY THE TUNE": PRINT "'N'=GET NEW SONG FROM DISK": GOTO 230
  23. 300  INPUT "WHICH NUMBER DO YOU WISH TO CHANGE ?";X
  24. 305  IF X >CO  THEN  PRINT "PLEASE PRINT A VALUE LESS THAN "CO +1: GOTO 300
  25. 310  PRINT "INPUT> TONE,TONELENGTH ": PRINT "FOR LINE #";: INVERSE : PRINT X: NORMAL : PRINT "OLD VALUES WERE T="T(X)" L="L(X)
  26. 314  INPUT TN,TL
  27. 320  IF TN >255  OR TL >255  THEN  PRINT "NO NUMBERS GRATER THAN 255 PLEASE ": GOTO 310
  28. 330 T(X) = TN:L(X) = TL
  29. 340  GOTO 230
  30. 350 CO = 0: PRINT "DONE": GOTO 190
  31. 360  INPUT "STARTING FROM WHICH LINE ?";Y: IF Y >CO  THEN  PRINT "LINE NUMBER TO HIGH TRY AGAIN": GOTO 360
  32. 370  FOR X = Y TO CO: POKE T,T(X): POKE L,L(X): PRINT "# "X,"T= "T(X),"L= "L(X): CALL A: NEXT X: GOTO 230
  33. 380  INPUT "=1= NEW FILE, =2= OLD FILE ?";X: IF X = 1  THEN  RETURN 
  34. 390  IF X < >2  THEN 380
  35. 400  POP 
  36. 410  PRINT "<CTRL-D>CATALOG"
  37. 415  PRINT 
  38. 420  INPUT "FILENAME ?";A$: IF A$ = ""  THEN 420
  39. 430  PRINT OP$;A$: PRINT RE$;A$
  40. 440  INPUT CO
  41. 450  FOR X = 0 TO CO: INPUT T(X),L(X): NEXT X
  42. 460  PRINT CL$;A$: GOTO 230
  43. 470  INPUT "FILENAME ?";A$: IF A$ = ""  THEN 470
  44. 480  PRINT OP$;A$: PRINT WR$;A$
  45. 490  PRINT CO
  46. 500  FOR X = 0 TO CO: PRINT T(X): PRINT L(X): NEXT X
  47. 510  PRINT CL$;A$
  48. 520  IF CO = 200  THEN  RETURN 
  49. 530  GOTO 230